/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.ex6professor;

import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author marcelo.medeiros
 */
public class Main {

  /**
   * @param args the command line arguments
   */
  public static void main(String[] args) {
    Empresa empresa = new Empresa();
    empresa.cadastrarEmpresa();
    final int SAIR = 16;
    String opcoes =
            "01-Contratar"
            + "\n02-Listar"
            + "\n03-Consultar por Matrícula"
            + "\n04-Consultar por CPF"
            + "\n05-Remover"
            + "\n06-Demitir"
            + "\n07-Maior Salário"
            + "\n08-Média de Salário"
            + "\n09-Pesquisar Parcial"
            + "\n10-Pesquisar Inicial"
            + "\n11-Ajustar Salário Geral"
            + "\n12-Ajustar Salário do Funcionário"
            + "\n13-Ordenar"
            + "\n14-Aniversariantes"
            + "\n15-Alterar"
            + "\n16-Sair";
    int op = 0,mat;
    float valor;
    do {
      op = new Integer(Helper.lerDados(opcoes));
      switch (op) {
        case 1:empresa.cadastrarFuncionario();break;
        case 2:empresa.listar();break;
        case 3:
          mat = new Integer(Helper.lerDados("Matrícula:"));
          Funcionario achou = empresa.pesquisar(mat);
          if (achou != null) achou.mostrar();
          else Helper.escreverDados("Matrícula Inexistente");
          break;
        case 4:
          Funcionario f = empresa.pesquisar(Helper.lerDados("CPF:"));
          if (f != null) f.mostrar();
          else Helper.escreverDados("CPF Inexistente");
          break;
        case 5:
          mat = new Integer(Helper.lerDados("Matrícula:"));
          empresa.remover(mat);
          break;
        case 6:
          mat = new Integer(Helper.lerDados("Matrícula:"));
          empresa.demitir(mat);
          break;
        case 7:
          Helper.escreverDados(empresa.acharMaiorSalario());
          break;   
        case 8:
          Helper.escreverDados(empresa.calcularMediaSalario());
          break;     
        case 9:
          empresa.listar(Helper.lerDados("Parcial do Nome:"));
          break;
        case 10:
          empresa.listarParcial(Helper.lerDados("Inicial do Nome:"));
          break;  
        case 11:
          valor = new Float(Helper.lerDados("Percentual:"));
          empresa.atualizarSalario(valor);
          break;
        case 12:
          valor = new Float(Helper.lerDados("Percentual:"));
          mat = new Integer(Helper.lerDados("Matrícula:"));
          empresa.atualizarSalario(valor, mat);
          break;
        case 13:
           char escolha = 
            Helper.lerDados("Ordenar Por:",
            "Ordenar",
            JOptionPane.INFORMATION_MESSAGE,
            new String[]{"N-Por Nome","M-Por Matrícula"},
            0).charAt(0);
           empresa.ordenar(escolha);
        break;  
        case 14:
        	empresa.listarAniversariantes();
        	break;
        case 15:
        	empresa.alterar(new Integer(Helper.lerDados("Matricula")));
        	break;
      }//switch
    } while (op != SAIR);
  }
}
